package edu.fasta.sisinfo2.net;

import java.io.IOException;
import java.net.Socket;

import edu.fasta.sisinfo2.poker.JugadorImplementacion;
import edu.fasta.sisinfo2.poker.PokerControllerServer;

public class DesconectarJugador implements InterfazComandoJugador {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Socket unSocket;
	
	public DesconectarJugador(Socket unSocketJugador){
		this.setUnSocket(unSocketJugador);
	}
	
		public void ejecutarComando(PokerControllerServer unPCS) {
		try {
			//unPCS.buscarJugadorPorSocket(this.getUnSocket());
			unPCS.buscarJugadorPorSocket(this.getUnSocket()).getUbicacionRed().close();
			unPCS.buscarJugadorPorSocket(this.getUnSocket()).setActivo(false);
			unPCS.getServidor().setCantConexionesActuales(unPCS.getServidor().getCantConexionesActuales()-1);
			//actualizamos lista jugadores activos
			//unPCS.setJugadoresActivos(unPCS.generarListaJugadoresActivos(unPCS.getJugadoresActivos()));
			
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println("\n Error al cerrar el socket del jugador ");
			e.printStackTrace();
		}
				
	}

	public String queSos() {
	
		return "Jugador Desconectado";
	}

	public Socket getUnSocket() {
		return unSocket;
	}

	public void setUnSocket(Socket unSocket) {
		this.unSocket = unSocket;
	}

}
